系列

能够保存任何类型的数据(整数、字符串、浮点数、python 对象)的一维标记数组

语法:

pandas.Series(data, index, dtype, copy)

参数 说明
data 各种形式的数据(ndarray, list, constants 等)
index 索引值必须是惟一的和散列的,与数据的长度相同.如果没有索引被传递则默认为 np.arange(n)
dtype 用于指定数据类型,如果没有,则自动推断数据类型
copy 是否复制数据,默认为 False

1> 创建空系列

empty_s = pd.Series()
print(f'创建空系列:{empty_s}')

# 输出结果:
#   创建空系列:Series([], dtype: float64)

2> ndarray创建系列

data = np.array(['a','b','c','d'])
nd_s = pd.Series(data)
print(f'ndarray 创建不指定索引系列示例:\n{nd_s}')

# 输出结果:
#  ndarray 创建不指定索引系列示例:
#  0    a
#  1    b
#  2    c
#  3    d
#  dtype: object

data = np.array(['a','b','c','d'])
nd_s = pd.Series(data, index = [1001, 1002, 1003, 1004])
print(f'ndarray 创建不指定索引系列示例:\n{nd_s}')

# 输出结果:
#  ndarray 创建不指定索引系列示例:
#  1001    a
#  1002    b
#  1003    c
#  1004    d
#  dtype: object

3> 由字典创建系列

data_dict = {'a':0, 'b':1,'c':3}
s_pd = pd.Series(data_dict)
print(f'由字典创建系列:\n{s_pd}')

# 输出结果:
#  由字典创建系列:
#  a    0
#  b    1
#  c    3
#  dtype: int64

data_dict = {'a':0, 'b':1,'c':3}
s_pd = pd.Series(data_dict,index = ['d','c','e','a'])
print(f'由字典创建系列:\n{s_pd}')

# 输出结果:
#  由字典创建系列:
#  d    NaN
#  c    3.0
#  e    NaN
#  a    0.0
#  dtype: float64

4> 用标量创建系列

如果数据是标量值,则必须提供索引,将重复该值以匹配索引的长度

bl_s = pd.Series(5, index = [0, 1, 2, 3])
print(f'由标量创建:\n{bl_s}')

# 输出结果:
#  由标量创建:
#  0    5
#  1    5
#  2    5
#  3    5
#  dtype: int64

5> 从系列中访问数据

pd_sr = pd.Series([1, 2, 3, 4, 5], index = ['a', 'b', 'c', 'd', 'e'])
print(f'获取第一个元素:{pd_sr[0]}')

# 输出结果: 获取第一个元素:1

print(f'获取前 3 个元素:\n{pd_sr[:3]}')

# 输出结果:
#  获取前 3 个元素:
#  a    1
#  b    2
#  c    3
#  dtype: int64

print(f'获取最后三个元素:\n{pd_sr[-3:]}')

# 输出结果:
#  获取最后三个元素:
#  c    3
#  d    4
#  e    5
#  dtype: int64

6> 使用标签索引数据

pd_sr = pd.Series([1, 2, 3, 4, 5], index = ['a', 'b', 'c', 'd', 'e'])
print(f'检索单个元素:{pd_sr["b"]}')  # 输出结果: 检索单个元素:2

print(f'检索多个元素:\n{pd_sr[["a","c","d"]]}')

# 输出结果:
#  检索多个元素:
#  a    1
#  c    3
#  d    4
#  dtype: int64